In the architecture and design phase of a software (i.e., machine readable instructions) based application, typically a search is performed for a set of instruments that are best suited to deliver an end solution. Instruments typically include various machine readable instructions based applications, libraries, and/or components that are needed to implement the end solution. The search is typically based on a set of specifications outlined by stakeholders associated with the end solution. Experts in a particular area associated with the end solution typically use their knowledge and recommendations from other experts to select a set of instruments that best meet the set of specifications and the end solution. For example, an expert typically analyzes the set of specifications and searches through a library of available instruments to select an instrument that best meets the set of specifications and the end solution.